package com.css.openapi.feign.dto;


import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

/**
 * @description:
 * @Title: UnionPayMobile3FactorRequestDTO
 * @Author xlw
 * @Package com.invoice.tcc.feign.yljy.dto
 * @Date 2025/9/11 15:14
 */
@Data
public class UnionPayMobile3FactorRequestDTO {

    /**
     * 报文类型（固定值：verify.ums.auth.mobile，必填）
     */
    @NotBlank(message = "actionType不能为空")
    private String actionType = "verify.ums.auth.mobile";

    /**
     * 平台ID（银商分配，必填）
     */
    @NotBlank(message = "platId不能为空")
    private String platId;

    /**
     * 业务请求流水号（第三方生成，平台内唯一，必填）
     */
    @NotBlank(message = "outRequestId不能为空")
    private String outRequestId;

    /**
     * 手机号（11位，必填）
     */
    @NotBlank(message = "phoneNo不能为空")
    @Pattern(regexp = "^1\\d{10}$", message = "phoneNo格式应为11位手机号")
    private String phoneNo;

    /**
     * 证件类型（01-居民身份证/02-军官证等，必填）
     */
    @NotBlank(message = "certType不能为空")
    @Pattern(regexp = "^(01|02|03|04|05|06|07|99)$", message = "certType需为指定值（01/02/03等）")
    private String certType;

    /**
     * 证件号码（必填）
     */
    @NotBlank(message = "certNo不能为空")
    private String certNo;

    /**
     * 姓名（必填）
     */
    @NotBlank(message = "name不能为空")
    private String name;
}
